Wordprocessing on computer systems has become a standard in today's office environment. Rather than typing symbols on a hard page and then working with and editing the hard page, symbols can be typed on and stored in a computer, then easily edited, read or printed out as necessary. Wordprocessing systems have become commonplace not only because they achieve these functions on computer processors that are affordable but also because text can be relatively easily and inexpensively stored and manipulated on personal computer memory storage systems.
Images, as opposed to text, are far more difficult and expensive to store, edit, and process with a computer. Simply stated, a page of image data requires a great deal more memory, storage space, and processing capability than does a comparably sized page of readable text (which is frequently stored in a coded form such as "ASCII").
In this regard, standards have developed for digitizing images to reduce the amount of information required to store, reproduce, or work with them on a computer. Images have been scanned and digitized and stored in black and white, purely binary (digital) representations. In this type of binary digitizing technique, a scanner scans the image and assigns a binary value to each pixel value scanned. Thus, each pixel is assigned a value of 0 or 1 depending on whether the scanner reads the pixel as either white or both non-white and below some threshold darkness value. The result is a "binary image" or bit map of the pixels for the image.
Since the data storage technique in strictly binary, the binary image can be readily and accurately compressed and decompressed with readily available compression techniques, such as CCITT group 4. A problem with this technique, however, is that the binary scan loses all shading information for the pixels. Each pixel is either black or white, which yields relatively poor reproduction of halftone pictures on most commonly available scanners, video screens, and printers, particularly those for use in conjunction with PC's.
Another method for digitizing an image is called "grey scaling." It involves dividing up a picture into pixels (or groups of dots) and then encoding the intensity or shade of the pixel through a numerical scaling scheme. The grey shade is reproduced according to the scaler value associated with the pixel. Similar scaling techniques can also be used to impart color information into image data. While this technique for digitizing can yield quite pleasing reproduction of the image on commonly available computer equipment, it too has several problems.
One such problem is the difficulty of compressing grey-scale data. Since each pixel is represented by a number of bits in a unique arrangement representing a particular grey-scale value, the grey-scale file is larger than a strictly binary, bit map file for the same number of pixels in a given image. The larger file therefore cannot be as quickly compressed as a purely binary file representation of the same image with the same number of pixels, and the resulting compression will be larger because of the significantly larger size of the grey-scale file to begin with.
In all of these digital image techniques, of course, the higher the data sampling rate, the higher the resolution of the image. However, the larger amounts of data resulting from the increased sampling rate require more storage space, faster digital processing power, faster and more accurate scanning and reproduction equipment, etc.
In terms of storage space alone, for example, a typical page (8.5".times.11") of text data only, stored in standard "ASCII" coding format, requires about 5,500 bytes of storage space. A typical page of graphic image data, digitized at 300 dots per inch ("DPI") in grey scale at 8 bits per pixel, requires about 8.5 megabytes of storage space. If digitized as a color file rather than a grey scale file, the resulting file is three to four times larger than the grey scale file. Thus, the automation industry has long been confronted with the problem of the amount of storage space, and processing power, required to work with graphic image data on a computer system.
The industry has developed some compression techniques that can reduce the storage space required for such a grey scale file to about 600 kilobytes per page. If, however, the image is scanned and stored as a binary (e.g., black and white) file rather than a grey scale or color scale file, the storage space can be reduced to an average of about 1 megabyte per page. With compression techniques such as the CCITT Group 4 standard, the size of such a binary file can be losslessly reduced by a factor of about 10 to about 100 kilobytes.
While such compression techniques are known in the prior art, the resulting files are still relatively large, requiring relatively larger amounts of file storage space and processing power. Also, as noted above, binary image files required for attaining adequate compression contain inherently less information than grey scale files for the same image and resolution.
In addition, the binary files generated by prior art techniques are not optimal for use in identifying, storing, and processing text components. As a result, optical character recognition is not sufficiently acceptable with the prior art methods to yield recognition patterns that are nearly devoid of errors and suitably reliable for use on the computer system, particularly in the personal computer environment where scanned images are often skewed or include both textual portions and non-textual components or "graphics" (which for purposes of this application is defined to mean non-textual components such as line art, continuous tones, or grey scale or halftone information).
In the past, the industry has generally developed image processing software that requires use of specialized hardware processors and boards. The use of the software is thus inherently limited to systems having such specialized, and usually costly, hardware.
There are a variety of other problems with existing digital image processing techniques. One such problem has been the insufficient processing speeds for scanning, enhancing, and storing the image on, for example, a personal computer system with off-the-shelf components. In this regard, the industry has long been attempting to develop various image enhancement techniques such as high and low pass filters, and image re-histogramming. Low pass filters have helped reduce high frequency noise in the scanned image. High pass filters have been used to detect and enhance edges. The histogram, a graph of the number of pixels in the image for each grey level, has been used to re-allocate the number (and identity) of pixels in available grey levels in order to enhance the image and bring out detail. These techniques have not previously been effectively and efficiently combined, particularly for processing complex page images (including both text and black and white or color graphics) on readily available personal computing equipment.
Another problem with prior art image processing techniques has been lack of sufficient correction of skew in the scanned images. This not only results in an image being viewed or reprinted off-center but also causes unnecessary errors in subsequent operations, such as optical character reading, of the textual portions of the image files.